//package com.gss.plugin.doc.autoconfigure;
//
//import com.gss.plugin.doc.properties.ApiDocProperties;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.context.annotation.Bean;
//import org.springframework.web.servlet.config.annotation.CorsRegistry;
//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
//
//import java.util.ArrayList;
//
///**
// * @author: DYang
// * @since: 2023/8/17
// * @description:
// */
//public class SmartDocConfig implements WebMvcConfigurer {
//
//    @Autowired
//    private ApiDocProperties apiDocProperties;
//
//    /**
//     * 解决跨域问题
//     * @param registry
//     */
//    @Override
//    public void addCorsMappings(CorsRegistry registry) {
//        registry.addMapping("/**")
//                .allowedHeaders("*")
//                .allowedMethods("*")
//                .allowedOriginPatterns("/**")
//                .maxAge(3600);
//    }
//
//
//    @Bean
//    public ApiConfig apiConfig(){
//        ApiConfig config = new ApiConfig();
//        config.setServerUrl(apiDocProperties.getServerUrl());
//        config.setAllInOne(apiDocProperties.isAllInOne());
//        config.setOutPath(apiDocProperties.getOutPath());
//
//        // 设置接口包扫描路径过滤，如果不配置则Smart-doc默认扫描所有的接口类
//        // 配置多个报名有英文逗号隔开
//        config.setPackageFilters(apiDocProperties.getPackageFilters());
//
//        //设置错误错列表，遍历自己的错误码设置给Smart-doc即可
//        List<ApiErrorCode> errorCodeList = new ArrayList<>();
//        for (HttpCodeEnum codeEnum : HttpCodeEnum.values()) {
//            ApiErrorCode errorCode = new ApiErrorCode();
//            errorCode.setValue(codeEnum.getCode()).setDesc(codeEnum.getMessage());
//            errorCodeList.add(errorCode);
//        }
//
//        //不需要显示错误码,则可以不用设置错误码。
//        config.setErrorCodes(errorCodeList);
//        //生成Markdown文件
//        HtmlApiDocBuilder.buildApiDoc(config);
//
//        return config;
//    }
//}
